/**
 * 使用class关键字来定义一个类
 * 对象中主要包含了两个部分
 *      属性
 *      方法
 */

class Person {
  /**
   * 直接定义的属性时实例属性，需要通过对象的实例去访问person.age
   * 使用static开头的属性时静态属性（类属性），可以直接通过类去访问Person.age
   * readonly开头的属性表示一个只读的属性无法修改
   */
  name: string = "孙悟空"; // 定义实例属性

  static readonly age: number = 18; // 静态属性，通过类去访问
  sayHello() {
    // 定义方法
    console.log("hello");
  }
}

const per = new Person();

console.log(per.name);
per.sayHello();
